home *** CD-ROM | disk | FTP | other *** search
- function GetOptionFromUrl (optionName, src)
- {
- var str;
- if (src) str = src; else str = window.location.href;
- var ind = str.indexOf (optionName + '=');
- if (ind != -1)
- {
- var optEnd = str.indexOf ('&', ind + optionName.length + 1);
- var optEnd2 = str.indexOf ('%26', ind + optionName.length + 1);
- if (optEnd == -1 || (optEnd2 != -1 && optEnd2 < optEnd)) optEnd = optEnd2;
- if (optEnd == -1)
- {
- return str.substr (ind + optionName.length + 1);
- }
- else
- {
- return str.substring (ind + optionName.length + 1, optEnd);
- }
- }
- return 0;
- }
-
- function ReplaceAll (str, src, trg)
- {
- var s = str;
- var start = 0;
- while(true)
- {
- var ind = s.indexOf(src, start);
- if (ind == -1)
- {
- break;
- }
- s = s.substring (0, ind) + trg + s.substr (ind + src.length);
- start = ind + trg.length;
- }
- return s;
- }
-
- function FindAllFormItems (form)
- {
- var els = new Array;
- if (form)
- {
- var ar = form.elements;
- var i;
- for(i=0;ar && i<ar.length;i++)
- {
- if (ar [i].name)
- {
- els [els.length] = ar [i].name;
- }
- }
- }
- return els;
- }
-
- function UrlToFormItems (form)
- {
- var els = FindAllFormItems (form);
- var i;
- for (i = 0; els && i < els.length; i++)
- {
- var nm = els [i];
- var val = GetOptionFromUrl (nm);
- if (form)
- {
- if (val)
- {
- val = unescape (val);
- if (nm == 'q') val = ReplaceAll (val, '+', ' ');
- }
- var el = form.elements [nm];
- if (el)
- {
- if (val && el.type == 'checkbox') el.checked = val;
- else if (el.type == 'select-one')
- {
- var option;
- for (option = 0; option < el.options.length; option++)
- {
- if (el.options [option].value == val) el.options [option].selected = 1;
- }
- }
- else if (val) el.value = val;
- }
- }
- }
- }
-